/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Interface.Fisica;

import Interface.Fisica.Clip;
import Interface.Fisica.Clip;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.geom.Ellipse2D;
import java.net.URL;
import java.util.ArrayList;
import java.util.Random;
import jogopoo.Efeitos.EfeitosTela;
import jogopoo.Grafico.GrafCenario;
import jogopoo.Personagem.Personagens;


/**
 *
 * @author Administrador
 */
public class Planeta extends Personagens{

    public Planeta(GrafCenario cenario,int x,int y,double m,int tamanho,char cor){
        super(cenario);
        posicao.x = x;
        posicao.y = y;
        this.m = m;
        this.raio = (tamanho+1)*16;
        this.vida = 10*(raio/16) - 13;
        sprite = new Image[1];
        int num = (3*tamanho - 3);
        if(cor == 'b')
            num += 1;
            else if(cor == 'r')
                num += 2;
        String filename = "/imagens/planetas/planet"+num+".png";
        URL url = Clip.class.getResource(filename);
        sprite[0] = Toolkit.getDefaultToolkit().getImage(url);

    }

   @Override
   public void desenha(Graphics2D g2) {

        g2.drawImage(this.sprite[0],posicao.x-raio,posicao.y-raio,cenario);
        }
/**
 * Retorna a Massa do planeta
 */
 public double getM(){
     return m;
 }
public int getRaio(){
    return raio;
}
 public ArrayList<Ellipse2D> getListaElipses(){
     return this.lista_ellipses;
 }
 public void colide(int x, int y){
     if(lista_ellipses.size() > vida){
      cenario.getListaPlaneta().remove(this);
     }else{
        Ellipse2D elps = new Ellipse2D.Float();
        elps.setFrame(x-15,y-15,30,30);
        lista_ellipses.add(elps);
        this.m += -m*0.1;
        cenario.setTreme(true);
     }
 }
private double m; //massa
private int raio;
private int vida;
private ArrayList<Ellipse2D> lista_ellipses = new ArrayList<Ellipse2D>();
private Image[] sprite;
}
